package assetco

import "wails/schema/config/commonco"

// @schema_export --ident=schema --json --config=地形
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地形
type C地形 struct {
	// @alias 名称
	M名称 string
	// @alias 描述
	M描述 string
	// @alias 图标
	T图标 string `link:"图标"`
	// @alias 标签
	B标签 map[string]string
	// @alias 资源路径
	Z资源路径 string `enabled:"false"`
	// @alias 主题路径
	Z主题路径 string
	// @alias 网格尺寸
	W网格尺寸 E网格尺寸
	// @alias 网格偏移
	W网格偏移 *commonco.S二维点
	// @alias 范围
	F范围 *commonco.S尺寸
	// 三维地图可以设置，设置后，限制地图高度
	// @alias 高度
	G高度 int `alias:"高度"`
	// @alias 寻路数据
	X寻路数据 string `enabled:"false"`
}

// @schema_export --ident=schema --json --config=地形
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地形_单图
type C地形_单图 struct {
	C地形
	// @alias 地块
	D地块 string `link:"地块"`
}

// @schema_export --ident=schema --json --config=地形
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地形_平铺
type C地形_平铺 struct {
	C地形

	// @alias 资源路径
	Z资源路径 string `enabled:"false"`
}

// @schema_export --ident=schema --json --config=地形
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地形_平铺3D
type C地形_平铺3D struct {
	C地形

	// @alias 资源路径
	Z资源路径 string `enabled:"false"`
}

// 地形在场景文件的内部数据，也可以抽出来作为独立的文件。但为了减少文件数量，减少文件管理的复杂度，在场景中创建的地形，默认在场景文件中。
// @schema_export --ident=schema --json --config=地形数据
// @schema_go
// @schema_ts
// @alias 地形数据
type C地形数据 struct {
	// @alias 地块集
	D地块集 map[string]*S地块数据项
}

type S地块数据项 struct {
	// @alias 地块
	D地块 string `link:"地块"`
	// @alias x
	X float64
	// @alias y
	Y float64
	// @alias z
	Z float64
}
